package com.chenfan.mcn.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chenfan.mcn.dao.BrandInfoMapper;
import com.chenfan.common.extension.mybatisplus.enhanced.EnhancedService;
import com.chenfan.mcn.model.BrandInfo;
import com.chenfan.mcn.model.dto.BrandInfoQueryDTO;
import com.chenfan.mcn.model.dto.BrandInfoSaveDTO;
import com.chenfan.mcn.model.vo.BrandInfoSelectVO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * MCN品牌信息表 服务类
 * </p>
 *
 * @author wulg
 * @since 2023-11-02
 */
public interface BrandInfoService extends EnhancedService<BrandInfoMapper, BrandInfo> {


    /**
     * 分页查询
     * @param dto
     * @return
     */
    Page<BrandInfo> getPage(BrandInfoQueryDTO dto);

    /**
     * 通过关键字动态搜索品牌TOP30
     * @param keyword
     * @param status
     * @return
     */
    List<BrandInfoSelectVO> search(String keyword, Integer status);

    /**
     * 保存
     * @param dto
     * @return 品牌主键ID
     */
    Long save(BrandInfoSaveDTO dto);


    /**
     * 修改启用状态
     *
     * @param id     id
     * @param status 状态
     * @return boolean
     */
    Boolean changeStatus(Long id, Integer status);


    /**
     * 通过品牌编码获取品牌名称
     * @param brandCode
     * @return
     */
    String getBrandNameByCode(String brandCode);


    /**
     * 通过品牌编号集合获取品牌map
     * @param brandCodes
     * @return
     */
    Map<String, String> getBrandMapByCodes(List<String> brandCodes);

}
